Next: Low-Level Kill Ring, Previous: Yanking, Up: The Kill Ring [Contents][Index]
This section describes higher-level commands for yanking,
which are intended primarily for the user but useful also in Lisp
programs. Both yank and yank-pop honor
the yank-excluded-properties variable and
yank-handler text property (see Yanking).
This command inserts before point the text at the front of
the kill ring. It sets the mark at the beginning of that
text, using push-mark (see The Mark), and puts point at the
end.
If arg is a non-nil list (which
occurs interactively when the user types C-u with
no digits), then yank inserts the text as
described above, but puts point before the yanked text and
sets the mark after it.
If arg is a number, then yank
inserts the argth most recently killed
text—the argth element of the kill ring
list, counted cyclically from the front, which is considered
the first element for this purpose.
yank does not alter the contents of the kill
ring, unless it used text provided by another program, in
which case it pushes that text onto the kill ring. However if
arg is an integer different from one, it rotates
the kill ring to place the yanked string at the front.
yank returns nil.
This command replaces the just-yanked entry from the kill ring with a different entry from the kill ring.
This is allowed only immediately after a yank
or another yank-pop. At such a time, the region
contains text that was just inserted by yanking.
yank-pop deletes that text and inserts in its
place a different piece of killed text. It does not add the
deleted text to the kill ring, since it is already in the
kill ring somewhere. It does however rotate the kill ring to
place the newly yanked string at the front.
If arg is nil, then the
replacement text is the previous element of the kill ring. If
arg is numeric, the replacement is the
argth previous kill. If arg is
negative, a more recent kill is the replacement.
The sequence of kills in the kill ring wraps around, so that after the oldest one comes the newest one, and before the newest one goes the oldest.
The return value is always nil.
If this variable is non-nil, the function
yank-pop uses its value instead of
delete-region to delete the text inserted by the
previous yank or yank-pop command.
The value must be a function of two arguments, the start and
end of the current region.
The function insert-for-yank automatically
sets this variable according to the undo element
of the yank-handler text property, if there is
one.
Next: Low-Level Kill Ring, Previous: Yanking, Up: The Kill Ring [Contents][Index]